package net.chrisjrock.loader.bulletloader
{
	import flash.events.IEventDispatcher;

	public interface IBulletLoad extends IEventDispatcher
	{
		function destroyExternal ():void;
		function destroyInternal ():void;
		
		function init ():void;
		
		function isInitComplete ():Boolean;
		function isLoading ():Boolean;
		function isLoaded ():Boolean;
		
		/**
		 * @return The type of asset being requested.
		 */
		function getType ():String;
		
		/**
		 * @private
		 */
		function setType (value:String):void;
		
		/**
		 * @return The url of the requested asset.
		 */
		function getUrl ():String;
		
		/**
		 * @private
		 */
		function setUrl (value:String):void;
		
		function getRequests ():Vector.<IBulletLoadRequest>;
	}
}